// 更新数据库表结构，添加hours字段
const sqlite3 = require('sqlite3').verbose();
const path = require('path');

// 连接到数据库
const dbPath = path.join(process.cwd(), 'tasks.db');
const db = new sqlite3.Database(dbPath, (err) => {
    if (err) {
        console.error('数据库连接失败:', err);
        return;
    }
    
    console.log('数据库连接成功，准备检查并更新表结构');
    
    // 检查tasks表是否有hours字段
    db.get("PRAGMA table_info(tasks)", (err, rows) => {
        if (err) {
            console.error('检查表结构失败:', err);
            db.close();
            return;
        }
        
        // 查询所有字段名
        db.all("PRAGMA table_info(tasks)", (err, columns) => {
            if (err) {
                console.error('查询列信息失败:', err);
                db.close();
                return;
            }
            
            // 检查是否存在hours字段
            const hasHoursColumn = columns.some(col => col.name === 'hours');
            
            if (!hasHoursColumn) {
                // 添加hours字段
                db.run("ALTER TABLE tasks ADD COLUMN hours INTEGER DEFAULT 0", (err) => {
                    if (err) {
                        console.error('添加hours字段失败:', err);
                    } else {
                        console.log('成功添加hours字段到tasks表');
                    }
                    db.close();
                });
            } else {
                console.log('tasks表已包含hours字段，无需更新');
                db.close();
            }
        });
    });
});